Failure data collection system apparatus and method

ABSTRACT

An apparatus for collecting dump data collection receives an on demand data (ODD) dump request, pauses one or more scan loops, transfers dump data to an ODD dump buffer space, unpauses the scan loops, and offloads dump data from the ODD dump buffer space to the storage device. The apparatus may also prioritize dump data for transfer to the ODD dump buffer space, load balance dump data for transfer to the ODD dump buffer space, and schedule offloading of the dump data from the ODD dump buffer space to non-volatile storage.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to systems, apparatus, and methods for recoveringdata and more particularly relates to systems, apparatus, and methodsfor collecting dump data.

2. Description of the Related Art

Dump data often includes data located in the volatile memory of adigital system (such as a storage controller) at the time of aprocessing error or failure. Dump data is valuable when assessing theperformance of a digital system. Dump data may be directly associatedwith the performance of one or more hardware and/or software componentsof the digital system. Though the value of dump data is clear, currentsolutions to collecting dump data include certain shortcomings.

For example, many dump data collection solutions include inconvenientlyrestarting the digital system commonly referred to as a warmstart. Awarmstart is effective to collect dump data because a warmstart suspendsoperation of scan loops also referred to as event loops or workdispatchers to ensure the volatile memory data is not altered before itcan be collected. In addition to requiring time, warmstarting a digitaldevice often results in a storage controller busy signal beingtransmitted to an associated host computer which suspends systemoperations. Suspending system operations is more severe in systems thatinclude multiple host computers, storage controllers, and storagedevices.

SUMMARY OF THE INVENTION

The present invention has been developed in response to the presentstate of the art, and in particular, in response to the problems andneeds in the art that have not yet been fully solved by currentlyavailable failure data collection solutions. Accordingly, the presentinvention has been developed to provide an apparatus, system, and methodfor collecting dump data.

In one aspect of the present invention, a dump data collection systemincludes one or more host computers that communicate with storagecontrollers that in turn communicate with storage devices. Each storagecontroller may receive an on demand data (ODD) dump request, pause oneor more storage controller scan loops, transfer dump data to an ODD dumpbuffer space, unpause the scan loops, and offload the dump data from theODD dump buffer space to the storage devices.

In another aspect of the present invention, a dump data collectionapparatus includes a communication module that receives an on demanddata (ODD) dump request, a scan loop management module that pauses oneor more scan loops in response to the ODD dump request, and a dump datatransfer module that transfers dump data to an ODD dump buffer space.The scan loop management module may also unpause the scan loops toenable the scan loops to resume normal operation, and the dump datatransfer module may offload the dump data from the ODD dump buffer spaceto storage.

In certain embodiments, the scan loop management module may pause one ormore scan loops, initiate a scan loop pause timer, attempt to pause anyremaining scan loops before expiration of the scan loop pause timer, andunpause all scan loops if all scan loops are not paused beforeexpiration of the scan loop pause timer. In certain embodiments, thescan loop management module may also reattempt to pause all scan loopsand reinitiate the scan loop pause timer upon expiration of a resettimer.

In certain embodiments, the apparatus also includes a dump dataprioritization module that prioritizes dump data before dump data istransferred to the ODD dump buffer space. In certain embodiments, thedump data prioritization module is further configured to register andderegister perspective dump data in real-time to facilitate dump dataprioritization. In certain embodiments, the apparatus includes a loadbalance module that load balances dump data amongst multiple processingthreads that simultaneously transfer dump data to distinct segments ofthe ODD dump buffer space.

In certain embodiments, the dump data transfer module also transfersdump data to the ODD dump buffer space until expiration of a dump datatransfer timer. In certain embodiments, the scan loop management modulealso restarts the scan loops to normal processing in spite of anincomplete data dump. In certain embodiments, the apparatus includes anoffload schedule module that schedules the offloading of the dump datafrom the ODD dump buffer space to storage so as to maximize performance.

A method of the present invention is also presented for collecting dumpdata. The method in the disclosed embodiments substantially includes theoperations necessary to carry out the functions presented above withrespect to the described system and apparatus. In one embodiment, themethod includes receiving an on demand data (ODD) dump request, pausingone or more scan loops, transferring dump data to an ODD dump bufferspace, unpausing the scan loops, and offloading dump data from the ODDdump buffer space to storage.

Furthermore, the described features, advantages, and characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. One skilled in the relevant art will recognize that theinvention may be practiced without one or more of the specific featuresor advantages of a particular embodiment. In other instances, additionalfeatures and advantages may be recognized in certain embodiments thatmay not be present in all embodiments of the invention. These featuresand advantages of the present invention will become more fully apparentfrom the following description and appended claims, or may be learned bythe practice of the invention as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 is a schematic block diagram of one embodiment of a dump datacollection system in accordance with the present invention;

FIG. 2 is a schematic block diagram of one embodiment of a storagecontroller in accordance with the present invention;

FIG. 3 is flow chart diagram of one embodiment of a dump data collectionmethod in accordance with the present invention;

FIG. 4 is flow chart diagram of one embodiment of a method to pause oneor more scan loops in accordance with the present invention;

FIG. 5 is flow chart diagram of one embodiment of a method to prioritizedump data in accordance with the present invention; and

FIG. 6 is a schematic block diagram of one embodiment of a dump datacollection system in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Many of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom VLSI circuits or gate arrays,off-the-shelf semiconductors such as logic chips, transistors, or otherdiscrete components. A module may also be implemented in programmablehardware devices such as field programmable gate arrays, programmablearray logic, programmable logic devices or the like.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of executable code may, forinstance, comprise one or more physical or logical blocks of computerinstructions which may, for instance, be organized as an object,procedure, or function. Nevertheless, the executables of an identifiedmodule need not be physically located together, but may comprisedisparate instructions stored in different locations which, when joinedlogically together, comprise the module and achieve the stated purposefor the module.

Indeed, a module of executable code may be a single instruction, or manyinstructions, and may even be distributed over several different codesegments, among different programs, among different processors, andacross several memory devices. Similarly, operational data may beidentified and illustrated herein within modules, and may be embodied inany suitable form and organized within any suitable type of datastructure. The operational data may be collected as a single data set,or may be distributed over different locations including over differentstorage devices.

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

A computer readable medium may be embodied by a compact disk,digital-video disk, a magnetic tape, a Bernoulli drive, a magnetic disk,holographic disk or tape, a punch card, flash memory, magnetoresistivememory, integrated circuits, or other digital processing apparatusmemory device.

Furthermore, the described features, structures, or characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. One skilled in the relevant art will recognize, however,that the invention may be practiced without one or more of the specificdetails, or with other methods, components, materials, and so forth. Inother instances, well-known structures, materials, or operations are notshown or described in detail to avoid obscuring aspects of theinvention.

FIG. 1 is a schematic block diagram of one embodiment of a dump datacollection system 100 in accordance with the present invention. Thedepicted system 100 includes a host computer 110, a storage controller120, and a data storage device 130. The components of the system 100cooperate to collect dump data.

In certain embodiments, the host computer 110 communicates and executesinput/output operations corresponding to the storage device 130 via thestorage controller 120. In certain embodiments, the storage controller120 receives an on demand data (ODD) dump request. In response to theODD dump request, the storage controller 120 may pause any storagecontroller scan loops to ensure that data in the non-volatile memory ofthe storage controller 120 is not altered.

In certain embodiments, the storage controller 120 transfers dump datato an ODD dump buffer space (see FIG. 2) so that the scan loops may beunpaused to perform normal operations. The storage controller 120 mayoffload the dump data from the ODD dump buffer space to the storagedevice 130 for long-term storage and analysis. As such, the componentsof the storage controller 200 cooperate to collect and store dump datawithout substantially reducing the performance of normal storagecontroller processes.

FIG. 2 is a schematic block diagram of one embodiment of a storagecontroller 200 in accordance with the present invention. The depictedstorage controller 200 includes a communication module 210, a scan loopmanagement module 220, a dump data prioritization module 230, a loadbalance module 240, a dump data transfer module 250, an on demand datadump buffer space 260, an offload schedule module 270, and a dump dataoffload module 280. In certain embodiments, the storage controller 200corresponds to the storage controller 120 of FIG. 1.

In certain embodiments, the communication module 210 receives an ODDdump request. The ODD dump request may originate from a variety ofsources such as a user/operator, the host computer 110, a companionstorage controller (see FIG. 6), or it may be triggered by selectedinternal circumstances detected by the storage controller 120. Inresponse to the ODD dump request, the scan loop module 220 may pause anyscan loops operating within the storage controller to preserve theintegrity of the dump data. The description of FIG. 4 providesadditional discussion regarding pausing scan loops. In certainembodiments, the dump data may include any or all of the data located involatile memory of the storage controller 200 at the time of the ODDdump request.

In certain embodiments, the dump data prioritization module 230prioritizes the dump data. Prioritizing dump data ensures that the dumpdata of the highest priority is transferred to the ODD dump buffer space260 first. The description of FIG. 5 provides additional details of dumpdata prioritization. The load balance module 240 may balance the dumpdata to be transferred to the ODD dump buffer space 260 amongst multipleprocessing threads to maximize an efficient transfer of dump data to theODD dump buffer space 260. The dump data transfer module 250 maytransfer the dump data to the ODD dump buffer space 260. In certainembodiments, the dump data transfer module 250 transfers dump data tothe ODD dump buffer space 260 until the expiration of a dump datatransfer timer to ensure that the scan loops are not paused for anundesirably long period of time.

The ODD dump buffer space 260 may include a selected volume of volatilememory for temporarily storing dump data. The scan loop managementmodule 220 may unpause and/or restart the scan loops to enable the scanloops to resume normal operations because the dump data has beentransferred to the ODD dump buffer space 260. Providing an ODD dumpbuffer space 260 enables an efficient relocation to temporary store dumpdata and ensures that the dump data may be transferred to non-volatilestorage without alteration by the dump data offload module 280. Theoffload schedule module 270 may schedule the transfer of the dump datato storage with minimal burden to the performance of the storagecontroller 200. As such, the present invention provides an efficientsolution to performing an on demand data (ODD) dump.

FIG. 3 is flow chart diagram of one embodiment of a dump data collectionmethod 300 in accordance with the present invention. The depicted method300 includes the operations of receiving 310 an ODD dump request,pausing 320 scan loops, prioritizing 330 dump data, load balancing 340dump data, transferring 350 dump data to an ODD dump buffer space,unpausing 360 scan loops, scheduling 370 the offload of dump data, andoffloading 380 the dump data. The operations of the method 300 cooperateto efficiently collect dump data to a non-volatile storage volume.

Receiving 310 an ODD dump request may include receiving an ODD dumprequest from a host computer or storage controller operator. Pausing 320scan loops may include pausing one or more scan loops associated with astorage controller so that the data located in volatile memory is notaltered. Prioritizing 330 dump data may include prioritizing data in avolatile memory volume according to selected prioritization instructionsto ensure that the data of the highest priority is transferred to an ODDdump buffer space first. Load balancing 340 dump data may includebalancing the dump data to be transferred to the ODD dump buffer spaceamongst any or all of the processing threads to maximize efficient datatransfer.

Transferring 350 dump data to an ODD dump buffer space may includetransferring the dump data from a volatile memory volume specified formore general use to a selected volatile memory volume specified tooperate as a dump data buffer, for the duration of a dump data transfertimer. In certain embodiments, providing a dump data transfer timerensures that the storage controller will be returned to normal operatingconditions within an acceptable period of time.

Unpausing 360 the scan loops may include enabling the scan loops torestart or resume normal operations. Scheduling 370 offload of dump datafrom the buffer space to storage may include scheduling an offload ofthe dump data within normal input/output operations of the storagecontroller so little or no effect of the performance of the storagecontroller. Offloading 380 dump data may include transferring the dumpdata from the ODD dump buffer space to a non-volatile storage volume forstorage.

FIG. 4 is flow chart diagram of one embodiment of a method 400 to pauseone or more scan loops in accordance with the present invention. Thedepicted method 400 includes the operations of receiving 410 an ODD dumprequest, pausing 420 a first scan loop, initiating 430 a scan loop pausetimer, attempting 435 to pause any remaining scan loops, determining 440whether any of the remaining scan loops are busy, unpausing 450 all scanloops, initiating 455 a rest timer, waiting 460 for the expiration of arest timer, and performing 470 any remaining ODD dump operations. Theoperations of the method 400 provide one solution of pausing a pluralityof scan loops.

Receiving 410 an ODD dump request may include receiving an ODD dumprequest from a host computer, an operator, or a storage controller.Pausing 420 a first scan loop may include pausing the scan loop thatprocess reception of the ODD dump request. Initiating 430 a scan looppause timer may include initiating a timer for attempting to pause theremaining scan loops. A scan loop pause timer ensures that the systemwill not unsuccessfully attempt to pause the remaining scan loops for anundesirably long period of time. Attempting 435 to pause remaining scanloops may include instructing any other scan loops to discontinueprocessing input/output requests so as to maintain the integrity of thedump data in volatile memory.

Determining 440 whether any remaining scan loops are busy may includedetermining whether the attempt to pause the remaining scan loops wassuccessful upon the expiration of the scan loop pause timer initiated byoperation 435. Assuming that at least one of the remaining scan loops isbusy (possibly because the scan loop is processing an instruction ofhigher priority), unpausing 450 all the scan loops to enable the pausedscan loops to normal resume input/output operations.

Initiating 455 a rest timer and waiting 460 for the expiration of therest timer may include allowing the scan loops to perform normalinput/output operations for a given period of time before reattemptingto pause the first scan loop and so on. Once all the scan loops aresuccessfully paused, the method 400 continues by performing 470remaining ODD dump operations as described in FIG. 3. As such, thepresent invention provides a solution for a pausing a plurality of scanloops to preserve dump data in the volatile memory.

FIG. 5 is flow chart diagram of one embodiment of a method 500 toprioritize dump data in accordance with the present invention. Thedepicted method 500 includes the operations of determining 510 componentpriority, determining 520 component buffer space minimums, determining530 free buffer space, and determining 540 component buffer spacemaximums. The operations of the method 500 provide one example of asolution for prioritizing dump data for transfer to an ODD dump bufferspace.

Determining 510 component priority may include receiving componentpriority instructions from a user/operator. In certain embodiments,priority instructions may include how one component is prioritized withrespect to another and how dump data corresponding to each componentshould be prioritized. In certain embodiments, an operator may registeror deregister priority information corresponding to perspective dumpdata in real-time to facilitate data prioritization which enablesdevelopers to focus on different types of dump data through thedevelopment cycle.

Determining 520 component buffer space minimums may include determiningwhether any component has been assigned more buffer space than isnecessary. Determining 530 free buffer space may include determining thebuffer space already allocated to the component buffer space minimums.Free buffer space may be dynamically allocated to another component upontransferring the dump data to the ODD dump buffer space, according tocomponent priority. Determining 540 component buffer space maximums mayinclude determining the maximum amount of buffer space that eachcomponent may use to ensure that the component with the highest priorityis not allocated all of the free buffer space.

As such, when dump data is transferred to the ODD dump buffer space, thedata may be transferred according to the priority determined byoperation 510, first with respect to component buffer space minimums andthen to the free buffer space in accordance with the component priorityorder and the component buffer space maximums. One of skill in the artwill appreciate that, in certain embodiments, this more generalprioritization method 500 may be altered depending upon the source ofthe ODD dump request, type of ODD dump request (user-specified testcases), or the type of operations that were being performed by thestorage controller.

FIG. 6 is a schematic block diagram of one embodiment of a dump datacollection system 600 in accordance with the present invention. Thedepicted system 600 includes host computers 610, storage controllers620, and data storage devices 630. The system 600 provides one solutionfor multiple host computers 610, multiple storage controllers 620, andmultiple storage devices 630 that may respectively correspond to thehost computer 110, storage controller 120, and storage device 130 ofFIG. 1.

The host computers 610 may communicate with the storage controller 620and thereby execute input/output operations with respect to the datastorage devices 630. The storage controllers 620 may receive an ODD dumprequest from the host computers 610, an operator/user, or a storagecontroller 620. Similarly, the storage controllers may store collecteddump data in either of the data storage devices 630. In this manner, thepresent invention may be implemented with multiple components and over alocal or distributed network.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. An apparatus for collecting dump data, theapparatus comprising: a computer readable medium storingmachine-readable instructions; a processor executing themachine-readable instructions, the machine-readable instructionscomprising: a communication module receiving an on demand data (ODD)dump request from a host to transfer dump data from a storage controllermemory of a storage controller distinct from the host, wherein thestorage controller comprises at least two components and the ODD dumprequest comprises a component priority for each component; a scan loopmanagement module pausing at least one scan loop performed by thestorage controller on the storage controller memory in response toreceiving the ODD dump request; a dump data transfer module allocatingfree buffer space within an ODD dump buffer space for each componentaccording to the component priority by determining a component bufferspace minimum and a component buffer space maximum for each component,wherein the component buffer space minimum comprises previouslyallocated buffer space and the component buffer space maximum is lessthan all free buffer space, transferring the dump data from the storagecontroller memory to the ODD dump buffer space according to thecomponent priority, and upon transferring the dump data for a firstcomponent, dynamically allocating free buffer space from the firstcomponent with a higher priority to a second component with a lowerpriority; the scan loop management module further unpausing the at leastone scan loop in response to the transfer of the dump data to the ODDdump buffer space; and a dump data offload module offloading the dumpdata from the ODD dump buffer space to a data storage device distinctfrom the host and the storage controller.
 2. The apparatus of claim 1,the scan loop management module further pausing the at least one scanloop, initiating a scan loop pause timer, attempting to pause anyremaining scan loops before expiration of the scan loop pause timer, andunpausing all scan loops if all scan loops are not paused beforeexpiration of the scan loop pause timer.
 3. The apparatus of claim 2,the scan loop management module further reattempting to pause all scanloops and reinitiating the scan loop pause timer upon expiration of arest timer.
 4. The apparatus of claim 1, further comprising a dump dataprioritization module prioritizing dump data before dump data istransferred to the ODD dump buffer space.
 5. The apparatus of claim 4,the dump data prioritization module further registering andderegistering perspective dump data in real-time to facilitate dump dataprioritization.
 6. The apparatus of claim 1, further comprising a loadbalance module balancing dump data amongst multiple processing threadsthat simultaneously transfer the dump data to distinct segments of theODD dump buffer space.
 7. The apparatus of claim 1, the dump datatransfer module further transferring the dump data to the ODD dumpbuffer space until expiration of a dump data transfer timer.
 8. Theapparatus of claim 7, the scan loop management module further restartingthe at least one scan loop to normal processing in spite of anincomplete data dump.
 9. The apparatus of claim 1, further comprising anoffload scheduling module scheduling offloading of the dump data fromthe ODD dump buffer space to storage.
 10. A non-transitory computerreadable medium tangibly embodying a program of machine-readableinstructions executed by a digital processing apparatus to performoperations for collecting dump data, the operations comprising:receiving an on demand data (ODD) dump request from a host to transferdump data from a storage controller memory of a storage controllerdistinct from the host, wherein the storage controller comprises atleast two components and the ODD dump request comprises a componentpriority for each component; pausing at least one scan loop performed bythe storage controller on the storage controller memory; allocating freebuffer space within an ODD dump buffer space for each componentaccording to the component priority by determining a component bufferspace minimum and component buffer space maximum for each component,wherein the component buffer space minimum comprises previouslyallocated buffer space and the component buffer space maximum is lessthan all free buffer space; transferring the dump data from the storagecontroller memory to the ODD dump buffer space according to thecomponent priority; upon transferring the dump data for a firstcomponent, dynamically allocating free buffer space from the firstcomponent with a higher priority to a second component with a lowerpriority; unpausing the at least one scan loop in response to thetransfer of the dump data to the ODD dump buffer space; and offloadingthe dump data from the ODD dump buffer space to a data storage devicedistinct from the host and the storage controller.
 11. The computerreadable medium of claim 10, wherein pausing the at least one scan loopcomprises pausing a first scan loop, initiating a scan loop pause timer,attempting to pause any remaining scan loops before expiration of thescan loop pause timer, and unpausing all scan loops if all scan loopsare not paused before expiration of the scan loop pause timer.
 12. Thecomputer readable medium of claim 11, wherein pausing the at least onescan loop further comprises reattempting to pause all scan loops andreinitiating the scan loop pause timer upon expiration of a rest timer.13. The computer readable medium of claim 10, further comprisingprioritizing the dump data prior to transferring the dump data to theODD dump buffer space.
 14. The computer readable medium of claim 13,further comprising real-time registering and deregistering ofperspective dump data to facilitate a proper prioritization.
 15. Thecomputer readable medium of claim 10, further comprising balancing thedump data amongst multiple processing threads configured tosimultaneously transfer the dump data to distinct segments of the ODDdump buffer space.
 16. The computer readable medium of claim 10, whereintransferring the dump data to the ODD dump buffer space comprisestransferring the dump data to the ODD dump buffer space until expirationof a dump data transfer timer.
 17. The computer readable medium of claim16, further comprising restarting the at least one scan loop to normalprocessing in spite of an incomplete data dump.
 18. The computerreadable medium of claim 10, further comprising scheduling an offload ofthe dump data from the ODD dump buffer space to storage.
 19. A methodfor collecting dump data, the operations comprising: receiving, by useof a processor, an on demand data (ODD) dump request from a host totransfer dump data from a storage controller memory of a storagecontroller distinct from the host, wherein the storage controllercomprises at least two components and the ODD dump request comprises acomponent priority for each component; pausing at least one scan loopperformed by the storage controller on the storage controller memory;allocating free buffer space within an ODD dump buffer space for eachcomponent according to the component priority by determining a componentbuffer space minimum and a component buffer space maximum for eachcomponent, wherein the component buffer space minimum comprisespreviously allocated buffer space and the component buffer space maximumis less than all free buffer space; transferring the dump data from thestorage controller memory to the ODD dump buffer space according to thecomponent priority; upon transferring the dump data for a firstcomponent, dynamically allocating free buffer space from the firstcomponent with a higher priority to a second component with a lowerpriority; unpausing the at least one scan loop in response to thetransfer of the dump data to the ODD dump buffer space; and offloadingthe dump data from the ODD dump buffer space to a data storage devicedistinct from the host and the storage controller.
 20. A system forcollecting dump data, the system comprising: a plurality of hostcomputers configured to communicate with at least one storagecontroller; and at least one storage device configured to store data ona data bearing medium; the at least one storage controller configuredto: receive an on demand data (ODD) dump request from a host to transferdump data from a storage controller memory of a storage controllerdistinct from the host, wherein the storage controller comprises atleast two components and the ODD dump request comprises a componentpriority for each component; pause at least one scan loop performed bythe storage controller on the storage controller memory; allocate freebuffer space within an ODD dump buffer space for each componentaccording to the component priority by determining a component bufferspace minimum and a component buffer space maximum for each component,wherein the component buffer space minimum comprises previouslyallocated buffer space and the component buffer space maximum is lessthan all free buffer space; transfer the dump data from the storagecontroller memory to the ODD dump buffer space according to thecomponent priority; upon transferring the dump data for a firstcomponent, dynamically allocating free buffer space form the firstcomponent with a higher priority to a second component with a lowerpriority unpause the at least one scan loop in response to the transferof the dump data to the ODD dump buffer space; and offload the dump datafrom the ODD dump buffer space to the storage device, wherein thestorage device is distinct from the host and the storage controller.